// 第03节：Get请求的接收


const Koa=require('koa');
const App=new Koa();

App.use(async (ctx)=>{
    console.log(ctx);
    let url=ctx.url;  //获取请求的地址  //返回   /?user=Dfei&age=18  形式

    //从request中获取GET请求
    let request=ctx.request;
    let req_query=request.query;  //返回GET请求的URL的参数，形式是对象  {user:Dfei,age:18}
    let req_querystring=request.querystring //返回GET请求的URL的参数  形式是字符串  user=Dfei&age=18


    // 从上下文中直接获取
    let ctx_query=ctx.query; //{user:Dfei,age:18}
    let ctx_querystring=ctx.querystring  //user=Dfei&age=18

    ctx.body={
        url,
        req_query,
        req_querystring,
        ctx_query,
        ctx_querystring
    }
})

// 浏览器访问 127.0.0.1:3000?user=Dfei&age=18


App.listen(3000,()=>{
    console.log('服务器已启动')
})

/**
 *  总结：获得GET请求的方式有两种，一种是从request中获得，一种是一直从上下文中获得。获得的格式也有两种：query和querystring。大家要区分记忆，并根据实际需求进行灵活变换。 
 */ 